package controleInterno.cgt;

import controleInterno.cdp.EmpresaFornecedora;
import controleInterno.cdp.Produto;
import controleInterno.cgd.interfaceDAO.ProdutoDAOJPA;
import java.util.List;
import util.Exceptions.InventivaException;
import util.Persistencia.DAOFactory;
import util.Persistencia.IDAOJPA;

public class AplCadastrarProduto {

    private IDAOJPA apDaoProduto = DAOFactory.getInstance().obterDAO(Produto.class);
    private static AplCadastrarProduto instance = null;

    private AplCadastrarProduto() {
    }

    /**
     * Obtém uma instância da aplicação. Implementação do padrão Singleton.
     */
    public static AplCadastrarProduto getInstance() {
        if (instance == null) {
            instance = new AplCadastrarProduto();
        }
        return instance;
    }

    public Produto incluirProduto(String nome, Double preco, Integer quantidade, EmpresaFornecedora fornecedor) throws InventivaException {
        Produto produto = new Produto(nome, preco, quantidade, fornecedor);
        produto = (Produto) apDaoProduto.Salvar(produto);
        return produto;

    }

    /*
    public Produto alterarProduto(Produto produto) throws InventivaException {
        return (Produto) apDaoProduto.salvar(produto);
    }

    public void apagarProduto(Produto produto) throws InventivaException {
        apDaoProduto.excluir(produto);
    }

    public List<Produto> obterProduto() throws InventivaException {
        return (List<Produto>) apDaoProduto.obter(Produto.class);
    }
 */
}
